home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 3
/
Amiga Tools 3.iso
/
grafik
/
raytracing
/
rayshade-4.0.6.3
/
inetray
/
inetray_svc.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-08-17
|
2KB
|
115 lines
/*
* Please do not edit this file.
* It was generated using rpcgen.
*/
#include <stdio.h>
#include <rpc/rpc.h>
#include <sys/socket.h>
#include <syslog.h>
#include "inetray.h"
#ifdef DEBUG
#define RPC_SVC_FG
#endif
#include <sys/param.h>
#ifndef ITIMER_REAL
#include <sys/time.h> /* for A/UX */
#endif
#include "config.h"
extern int _rpcpmstart; /* Started by a port monitor ? */
extern int _rpcfdtype; /* Whether Stream or Datagram ? */
void
inetray_1(rqstp, transp)
struct svc_req *rqstp;
register SVCXPRT *transp;
{
union {
iPrm init_1_arg;
sfPrm startframe_1_arg;
tbPrm traceblock_1_arg;
int kill_1_arg;
int wait_1_arg;
int terminate_1_arg;
} argument;
char *result;
bool_t (*xdr_argument)(), (*xdr_result)();
char *(*local)();
switch (rqstp->rq_proc) {
case NULLPROC:
(void) svc_sendreply(transp, xdr_void, (char *)NULL);
return;
case INIT:
xdr_argument = xdr_iPrm;
xdr_result = xdr_void;
local = (char *(*)()) init_1;
break;
case STARTFRAME:
xdr_argument = xdr_sfPrm;
xdr_result = xdr_int;
local = (char *(*)()) startframe_1;
break;
case TRACEBLOCK:
xdr_argument = xdr_tbPrm;
xdr_result = xdr_void;
local = (char *(*)()) traceblock_1;
break;
case KILL:
xdr_argument = xdr_int;
xdr_result = xdr_int;
local = (char *(*)()) kill_1;
break;
case WAIT:
xdr_argument = xdr_int;
xdr_result = xdr_int;
local = (char *(*)()) wait_1;
break;
case TERMINATE:
xdr_argument = xdr_int;
xdr_result = xdr_void;
local = (char *(*)()) terminate_1;
break;
default:
svcerr_noproc(transp);
return;
}
bzero((char *)&argument, sizeof(argument));
if (!svc_getargs(transp, xdr_argument, &argument)) {
svcerr_decode(transp);
return;
}
result = (*local)(&argument, rqstp);
if (result != NULL && !svc_sendreply(transp, xdr_result, result)) {
svcerr_systemerr(transp);
}
if (!svc_freeargs(transp, xdr_argument, &argument)) {
_msgout("unable to free arguments");
exit(1);
}
return;
}
static
_msgout(msg)
char *msg;
{
#ifdef RPC_SVC_FG
if (_rpcpmstart)
syslog(LOG_ERR, msg);
else
(void) fprintf(stderr, "%s\n", msg);
#else
syslog(LOG_ERR, msg);
#endif
}